package tools.old.files;

import java.util.ArrayList;

import dao.account.DataLayerAccount;
import account.model.Account;
import account.model.SubTeam;
import tools.EmailValidator;
import tools.language.MentionAccounts;
import tools.mail.Mail;

public class StudentRegistrerenModel {

	private static StudentRegistrerenModel instance;

	private DataLayerAccount dl = new DataLayerAccount();
	private EmailValidator ev = new EmailValidator();

	private StudentRegistrerenView srv = StudentRegistrerenView.getInstance();

	private Mail m = new Mail();
	private Klas k = new Klas();

	public ArrayList<Account> account = new ArrayList<>();

	public static StudentRegistrerenModel getInstance() {

		if (instance == null) {
			instance = new StudentRegistrerenModel();
		}
		return instance;
	}

	public boolean registreren() {
		String voornaam = StudentRegistrerenView.getInstance().getVoornaamtf().getText();
		String achternaam = StudentRegistrerenView.getInstance().getAchternaamtf().getText();
		String email = StudentRegistrerenView.getInstance().getEmailtf().getText();
		String gebruikersnaam = StudentRegistrerenView.getInstance().getGebruikersnaamtf().getText();
		String ovnummer1 = StudentRegistrerenView.getInstance().getOvnummertf().getText();

		//wachtwoord uit jpasswordfield ophalen
		char[] wachtwoord = StudentRegistrerenView.getInstance().getWachtwoordtf().getPassword();
		String wwString = new String(wachtwoord);	

		//selected klas uit combobox ophalen
		Object klas = StudentRegistrerenView.getInstance().getKlasCB().getSelectedItem();
		//String klas1 = klas.toString();

		int lengte = Klassenlijst.getInstance().getKlassen().size();

		for(int i=0; i < lengte;i++) {
			if(Klassenlijst.getInstance().getKlassen().get(i).getKlas_naam().equals(klas)){
				k = Klassenlijst.getInstance().getKlassen().get(i);
			}
		}

		//geen gegevens ingevuld check
		if(voornaam.equals("") || achternaam.equals("") || email.equals("") || gebruikersnaam.equals("") || wachtwoord.equals("") || ovnummer1.equals("") ){
			MentionAccounts.getInstance().errorRegistreren();
		} 

		//email check
		else if(!ev.validate(StudentRegistrerenView.getInstance().emailtf.getText().trim())) {
			MentionAccounts.getInstance().errorEmail();
		}

		//gebruikersnaam check
//		else if(dl.checkStudentName() == null){

			//ovnummer omzetten naar int
			int ovnummer = Integer.parseInt(ovnummer1);

//			Account acc = new Account(voornaam, achternaam, email, gebruikersnaam, wwString, ovnummer, k, null, null, null);
//			StudentRegistrerenModel.getInstance().registreerAccount(acc);

			//mail versturen naar gebruiker met naam en wachtwoord
//			Account mail = new Account(email, voornaam, gebruikersnaam, wwString);
//			Account.getInstance().mailVerzenden(mail);

			//succes melding
//			MentionAccounts.getInstance().succesRegistreren();
//			System.exit(0);
//		}
		return false;
	}

	// toevoegen van student
	public void registreerAccount(Account a) {

		dl.openConn();
//		dl.insertStudent(a);
		dl.closeConn();
	}
}
